草庐IT

Java XPathFactory 线程安全

全部标签

c# - 如何智能安全地将 Double 转换为 String?

尽量不要在这里重复自己(干),帮帮我。=)我有一个double代表评分/5。可能的值是:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5.我想将其转换为不带小数位的字符串。所以值会变成:"0","05","1","15","2","25","3","35","4","45","5".我为什么要这样做?因为我正在尝试根据值动态创建链接:stringlink="http://somewhere.com/images/rating_{0}.gif";returnstring.Format(link,"15");可能的值在别处处理/验证,换句话说,我可以100%确定该值将始终是我

C# Threading.Suspend 已过时,线程已被弃用?

在我的应用程序中,我正在通过另一个线程(GUI线程除外)执行文件读取。有两个按钮分别用于暂停和恢复线程。privatevoidBtnStopAutoUpd_Click(objectsender,EventArgse){autoReadThread.Suspend();}privatevoidBtnStartAutoUpd_Click(objectsender,EventArgse){autoReadThread.Resume();}但我正面临这个警告,Thread.Suspendhasbeendeprecated.PleaseuseotherclassesinSystem.Thread

c# - .NET 2.0 : File. AppendAllText(...) - 线程安全实现

作为无聊的好奇心练习,考虑以下简单的日志记录类:internalstaticclassLogging{privatestaticobjectthreadlock;staticLogging(){threadlock=newobject();}internalstaticvoidWriteLog(stringmessage){try{lock(threadlock){File.AppendAllText(@"C:\logfile.log",message);}}catch{...handleloggingerrors...}}}File.AppendAllText(...)周围是否需要锁

c# - 由于线程退出或应用程序请求,I/O 操作已中止

我的应用程序用作银行服务器的客户端应用程序。该应用程序正在发送请求并从银行获得响应。此应用程序通常运行良好,但有时TheI/Ooperationhasbeenabortedbecauseofeitherathreadexitoranapplicationrequest错误代码为995。publicvoidOnDataReceived(IAsyncResultasyn){BLCommonFunctions.WriteLogger(0,"In:-OnDataReceived",refswReceivedLogWriter,strLogPath,0);try{SocketPackettheS

c# - 具有多线程或任务的进程队列

我有一个电话消息应用程序,其中有很多消息需要处理。由于电话端口有限,所以消息将被先进先出处理。每条消息都有一个标志“Acknowledge”,指示已处理的消息。它当然被初始化为false。我想将所有消息放入一个队列,然后用多个线程或任务处理它们。publicclassMessageQueue{publicQueueMessageWorkItem{get;set;}publicMessagesMessage{get;set;}publicMessageQueue(){MessageWorkItem=newQueue();Message=newMessages();}publicvoidG

C# 线程和队列

这不是关于我可以或应该使用的不同方法来以最佳方式利用队列,而是关于我所看到的对我来说毫无意义的事情。voidRunner(){//membervariablequeue=Queue.Synchronized(newQueue());while(true){if(0这是在单线程中运行的:vart=newThread(Runner);t.IsBackground=true;t.Start();其他事件在其他地方“排队”。我所看到的情况是在一段时间后,Dequeue实际上会抛出InvalidOperationException,队列为空。这应该是不可能的,因为计数如何保证那里有东西,而且我很

c# - .NET 程序集插件安全

我在许多应用程序中使用了以下代码来加载公开插件的.DLL程序集。但是,我以前总是关心功能,而不是安全性。我现在正计划在除我以外的其他组可以使用的Web应用程序上使用此方法,并且我想确保该功能的安全性是合格的。privatevoidLoadPlugins(stringpluginsDirectory){Listfactories=newList();foreach(stringpathinDirectory.GetFiles(pluginsDirectory,"*.dll")){Assemblyassembly=Assembly.LoadFile(path);foreach(Typety

c# - 将盐与散列密码一起存储有多安全

如果您查看过asp.net成员(member)系统的表模式,它们会存储原始密码的哈希值以及用于生成它的盐。请参阅下面的架构,dbo.aspnet_MembershipApplicationIdUserIdPasswordPasswordFormatPasswordSaltMobilePINEmail...如果攻击者掌握了数据库,他是否更容易从加盐和散列密码中破解原始密码?查看一些记录后,似乎为每个密码生成了一个新的盐。这有什么意义?您会推荐这种方法,还是在代码中硬编码常量salt相关Aresaltsuselessforsecurityiftheattackerknowsthem?

c# - HttpContext.Current.Cache 是线程安全的吗?

请检查下面的代码:objDDLTable=HttpContext.Current.Cache["TestSet"]asHashtable;if(objDDLTable==null){objDDLTable=newHashtable();arrDDLItems=GetDropDownList("testDropDown");objDDLTable.Add("testDropDown",arrDDLItems);HttpContext.Current.Cache["TestSet"]=objDDLTable;}elseif(objDDLTable!=null&&!objDDLTable.C

c# - 如何在指定线程上执行代码

有哪些方法可以在指定线程上执行某些代码?所以让我们假设我有一个Thead和一个委托(delegate),我需要在这个线程上执行这个委托(delegate)。我该如何实现?我对SynchronizationContext等基础设施不感兴趣,我想知道手动实现此行为的方法。 最佳答案 要在指定线程上执行某些操作,您需要该线程来拉取工作,例如从同步队列中拉取工作。这可以是委托(delegate)或具有某种Execute()方法的已知类型。在UI框架的情况下,通常也可以将工作直接(或间接)添加到主线程(通过消息队列)——例如,Control.